# -*- coding: utf-8 -*-
'''
# @Datetime: 2018/12/25
# @author: Zhang Yafei
'''


class Obj(object):
    def func(self):
        pass


# 执行方法一
# obj = Obj()
# obj.func()    # 方法

# 执行方法二
# obj = Obj()
# Obj.func(obj)   # 函数

from types import FunctionType, MethodType

obj = Obj()
print(isinstance(obj.func, FunctionType))  # False
print(isinstance(obj.func, MethodType))  # True

print(isinstance(Obj.func, FunctionType))  # True
print(isinstance(Obj.func, MethodType))  # Flase
"""
总结：函数和方法的区别
    1.被类调用的是函数，被对象调用的是方法
    2.全部参数自己传的是函数，自动传的是方法(比如self)
"""
